
package cn.blankm.video.player;

import android.content.ContentResolver;
import android.content.res.AssetFileDescriptor;
import android.net.Uri;
import android.text.TextUtils;


/**
 * Copyright (C), 1999-2022
 * Author qfmeng@iflytek.com
 * Date 2022/5/26 16:37
 *
 * Description: 播放器帮助类
 */
public class VideoPlayerHelper {

    private static VideoPlayerHelper sInstance;

    /**
     * 构造方法，避免直接new
     */
    private VideoPlayerHelper() {
        //避免初始化
    }


    /**
     * 一定要使用单例模式，保证同一时刻只有一个视频在播放，其他的都是初始状态
     * 单例模式
     *
     * @return VideoPlayerManager对象
     */
    public static VideoPlayerHelper instance() {
        if (sInstance == null) {
            synchronized (VideoPlayerHelper.class) {
                if (sInstance == null) {
                    sInstance = new VideoPlayerHelper();
                }
            }
        }
        return sInstance;
    }


    /**
     * 判断是否为本地数据源，包括 本地文件、Asset、raw
     *
     * @param url                 url地址
     * @param assetFileDescriptor assets文件
     * @return 是否为本地数据源
     */
    protected boolean isLocalDataSource(String url, AssetFileDescriptor assetFileDescriptor) {
        if (assetFileDescriptor != null) {
            return true;
        } else if (!TextUtils.isEmpty(url)) {
            Uri uri = Uri.parse(url);
            return ContentResolver.SCHEME_ANDROID_RESOURCE.equals(uri.getScheme())
                    || ContentResolver.SCHEME_FILE.equals(uri.getScheme())
                    || "rawresource".equals(uri.getScheme());
        }
        return false;
    }


}
